﻿<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		xmlns:doc="http://ddue.schemas.microsoft.com/authoring/internal"
		xmlns:maml="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		targetNamespace="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        >
        
	<!-- Schema documentation -->
	<annotation>
		<documentation>
			This schema definition defines the inline UI elements for the CS Schema.
			This schema is part of the base layer.			
		</documentation>
	</annotation>

	<!-- include and import declarations -->
	<include schemaLocation="base.xsd" />

	<!-- element declarations -->
	<element name="button">
		<annotation>
			<documentation>
				The button element describes various types of buttons.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="token">
					<attribute name="type" use="required">
						<simpleType>
							<restriction base="token">
								<enumeration value="leftMouseButton" />
								<enumeration value="middleMouseButton" />
								<enumeration value="rightMouseButton" />
								<enumeration value="macMouseButton" />
								<enumeration value="toolbarButton" />
								<enumeration value="dialogButton" />
								<enumeration value="genericButton" />
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	
	<element name="label" type="token">
		<annotation>
			<documentation>
				The label element describes the text of a label on a UI control.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="userInput" type="token">
		<annotation>
			<documentation>
				The userInput element describes data that is entered by the user. 
			</documentation>
			<appinfo>
			    <doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="userInputLocalizable" type="token">
		<annotation>
			<documentation>
				The ui element describes any localizable user input.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<!-- attribute declarations -->
	<attributeGroup name="userInstructionGroup">
		<annotation>
			<documentation>
				This type is intended for use for describing user actions
			</documentation>
		</annotation>
		<attribute name="instruction">
			<annotation>
				<documentation>
					The action attribute describes a user action, via either 
					key combination or mouse.
				</documentation>
			</annotation>
			<simpleType>
				<restriction base="token">
					<enumeration value="click" />
					<enumeration value="double-click" />
					<enumeration value="other" />
					<enumeration value="press" />
					<enumeration value="inSequence" />
					<enumeration value="simultaneously" />
				</restriction>
			</simpleType>
		</attribute>
	</attributeGroup>
	
	<!-- group declarations -->
	<group name="inlineUiGroup">
		<annotation>
			<documentation>
				This group is intended to be be used for referencing all base UI 
				elements.
			</documentation>
		</annotation>
		<choice>
			<element ref="maml:userInput" />
			<element ref="maml:userInputLocalizable" />
		</choice>
	</group>
	
	<group name="userActionsGroup">
		<choice>
			<element ref="maml:button" />
		</choice>
	</group>

</schema>
